
/**
 * TP GRUPO _ 
 * ALGORITMOS Y PROGRAMACION III
 */

package modelo;
import java.math.BigDecimal;
/**
 * @author Grupo _
 */

public class Evaluador{   
 
 private Resultados resultados;
 private double deltaX;             // DeltaX indica cada cuanto evaluo la funcion deseada ,particionando el intervalo
 
 public Evaluador(double deltaX){ 
  resultados=new Resultados();
  this.deltaX=deltaX;
  
 }
 
 
 private void agregar(double x,double fx){
   Valor valor=new Valor(x,fx);       
   resultados.agregar(valor);
   
 }
      
      
 public Resultados evaluarFuncion(Funcion funcion,double xInicial,double xFinal){
  double i=xInicial;
   while (i<=xFinal){
     try{
       this.agregar(i,funcion.calcular(i));
     }catch(ArithmeticException ae){}
       i+=deltaX;                        //Evalua la funcion pasandole los valores segun el Delta X configurado
  }
 return resultados;
 }

 public double getDeltaX() {
  return deltaX;
 }
 
 
}
